Peripheral devices such as printers can be configured to communicate directly with the internet. Thus, functions that would otherwise be provided by processing components of the device can now be provided by a network service. Various functions can be segregated into applications. A user interface containing icons or other representations of the applications is displayed by the device to a user. Through this user interface, the user is able to select and interact with a given application. Placing the responsibility of generating this user interface on the peripheral device proves problematic. The particular applications made available and the order of their presentation is fixed in the device's firmware. Thus, as new applications are developed, the device relies on firmware updates to access the applications. Further, different firmware updates would be needed for devices having different capabilities.